/*
 * Copyright (c) 2019 The StreamX Project
 * <p>
 * Licensed to the Apache Software Foundation (ASF) under one
 * or more contributor license agreements. See the NOTICE file
 * distributed with this work for additional information
 * regarding copyright ownership. The ASF licenses this file
 * to you under the Apache License, Version 2.0 (the
 * "License"); you may not use this file except in compliance
 * with the License. You may obtain a copy of the License at
 * <p>
 * http://www.apache.org/licenses/LICENSE-2.0
 * <p>
 * Unless required by applicable law or agreed to in writing,
 * software distributed under the License is distributed on an
 * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
 * KIND, either express or implied. See the License for the
 * specific language governing permissions and limitations
 * under the License.
 */
export function toPomString(pom) {
  const groupId = pom.groupId
  const artifactId = pom.artifactId
  const version = pom.version
  const exclusions = pom.exclusions || []
  let exclusionString = ''
  let pomString = ''
  if (exclusions.length > 0) {
    exclusions.forEach((item) => {
      exclusionString +=
        '        <exclusion>\n' +
        '          <groupId>' + item.groupId + '</groupId>\n' +
        '          <artifactId>' + item.artifactId + '</artifactId>\n' +
        '        </exclusion>\n'
    })
    pomString =
      '  <dependency>\n' +
      '     <groupId>' + groupId + '</groupId>\n' +
      '     <artifactId>' + artifactId + '</artifactId>\n' +
      '     <version>' + version + '</version>\n' +
      '     <exclusions>\n' + exclusionString +
      '     </exclusions>\n' +
      '   </dependency>'
  } else {
    pomString =
      '  <dependency>\n' +
      '    <groupId>' + groupId + '</groupId>\n' +
      '    <artifactId>' + artifactId + '</artifactId>\n' +
      '    <version>' + version + '</version>\n' +
      '  </dependency>'
  }
  return pomString
}